package com.hgyc.mom.base.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hgyc.mom.base.entity.Bom;
import com.hgyc.mom.base.entity.BomItem;
import com.hgyc.mom.base.vo.BomVO;

/**
 * 产品BOMService接口
 *
 * @author fwj
 * @since 2025-07-10
 */
public interface BomService extends IService<Bom> {

    /**
     * 保存产品BOM
     * @param bomVO 产品BOM
     */
    void saveBom(BomVO bomVO);

    /**
     * 更新产品BOM
     * @param bomVO 产品BOM
     */
    void updateBom(BomVO bomVO);

    /**
     * 删除产品BOM
     * @param ids 主键
     */
    void removeBom(List<Long> ids);

    /**
     * 导入数据
     * @param bomList 导入数据列表
     * @param updateSupport 是否更新已有数据
     * @return 导入结果消息
     */
    String importData(List<Bom> bomList, boolean updateSupport);

    /**
     * 更新状态
     * @param bom
     */
    void updateStatus(Bom bom);

    /**
     * 设置为默认版本
     * @param bom
     */
    void setDefault(Bom bom);

    /**
     * 根据产品获取产品BOM物料
     * @param productId 产品ID
     * @return 物料信息
     */
    List<BomItem> getBomByProduct(Long productId);
}